/**
 * 
 */
package br.ufrgs.inf.cwsmart.data;

import java.util.List;

import br.ufrgs.inf.cwsmart.description.CWSDescription;
import br.ufrgs.inf.cwsmart.exception.FrameworkException;
import br.ufrgs.inf.cwsmart.management.CWSDeploy;

/**
 * Interface for the class that manages the repository.
 * 
 * @author Rodrigo S Lumertz
 *
 */
public interface RepositoryManager {

	/**
	 * Persists the properties obtained by the parsing operation. 
	 * 
	 * @param cws The CWS to persist
	 */
	public void persistCWS(CWSDescription cws) throws FrameworkException;
	
	/**
	 * Gets a specificCWS from the repository. 
	 * 
	 * @param idCWS The CWS id to retrieve
	 * @return A CWSDEploy object.
	 * @throws FrameworkException in case of any error.
	 */
	public CWSDeploy getCWS(String idCWS)  throws FrameworkException;
	
	/**
	 * Gets the list of available CWS in the repository.
	 * 
	 * @return A list of CWSDeploy object.
	 * @throws FrameworkException in case of any error.
	 */
	public List<CWSDeploy> getCWSSet()  throws FrameworkException;
}
